import request from "@/utils/request";

/**
 * 获取商品列表
 * @param params 请求参数
 * - name: 商品名称，用于搜索
 * - category: 商品分类
 * - status: 商品状态，如"在售"
 * - page: 页码
 * - limit: 每页数量
 * - sort: 排序字段，支持"price"(积分)或"createdAt"(上架时间)
 * - order: 排序方向，"asc"(升序)或"desc"(降序)
 */
export function getProductList(params?: any) {
	return request.get("/api/products/list", params);
}

/**
 * 获取商品详情
 */
export function getProductDetail(id: number) {
	return request.get(`/api/products/findOne/${id}`);
}

/**
 * 获取商品分类列表
 */
export function getCategoryList() {
	return request.get("/api/products/categories");
}

/**
 * 添加商品
 */
export function addProduct(data: any) {
	return request.post("/api/products/create", data);
}

/**
 * 更新商品
 */
export function updateProduct(id: number, data: any) {
	return request.put(`/api/products/update/${id}`, data);
}

/**
 * 删除商品
 */
export function deleteProduct(id: number) {
	return request.delete(`/api/products/delete/${id}`);
}

/**
 * 批量获取商品详情
 */
export function getProductsDetails(ids: number[]) {
	return request.post("/api/products/batch", { ids });
}

/**
 * 获取商品规格列表
 */
export function getProductSpecs(productId: number) {
	return request.get(`/api/products/${productId}/specs`);
}

/**
 * 获取商品SKU列表
 */
export function getProductSkus(productId: number) {
	return request.get(`/api/products/${productId}/skus`);
}

/**
 * 获取SKU详情
 */
export function getSkuDetail(skuId: number) {
	return request.get(`/api/products/skus/${skuId}`);
}
